package main

import "fmt"

func printSliceData(s []string) {
	//使用recover捕获异常
	defer func() { //匿名函数
		fmt.Println("程序执行失败，捕获异常")
		if err := recover(); err != nil { //捕获到异常
			//recover 是用来捕获panic的报错的
			//尝试恢复，防止程序异常退出
			fmt.Println("捕获的错误信息:", err)
			// 发出一个告警
			// 记录一条日志
			// 返回给前端：说传入的值不对

		} else { //没有捕获到异常
			fmt.Println("没有捕获到异常")
		}
	}()

	fmt.Println("切片的内容:", s)

	//打印下切片的第三个值
	fmt.Println("切片第三个值:", s[2])
}
func main() {

	//recover() 异常的捕获和处理
	s := []string{"1", "2"}
	printSliceData(s)

}
